Big fixes for the new IO-APIC acknowledging method. The problems
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sat, 15 Apr 2006 17:09:52 +0000 (18:09 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sat, 15 Apr 2006 17:09:52 +0000 (18:09 +0100)
commitf6b7b3d0c408740e86f174fa5fe0abbe6ed0f5cb
treedecaa3b92c302624dfd61485f4de713d0ab8ae3a
parente8b7f0719c0990ac724d896a07b392ea2dde5817
Big fixes for the new IO-APIC acknowledging method. The problems
were:
 1. Some critical Xen interrupts could get blocked behind
    unacknowledged guest interrupts. This is avoided by making
    all Xen-bound interrrupts strictly higher priority.
 2. Interrupts must not only be EOIed on the CPU that received
    them, but also in reverse order when interrupts are nested.
    A whole load of logic has been added to ensure this.

There are two boot parameters relating to all this:
 'ioapic_ack=old' -- use the old IO-APIC ACK method
 'ioapic_ack=new' -- use the new IO-APIC ACK method (default)
 'force_intack'   -- periodically force acknowledgement of
                     interrupts (default is no; useful for debugging)

Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/i8259.c
xen/arch/x86/io_apic.c
xen/arch/x86/irq.c
xen/arch/x86/smpboot.c
xen/drivers/char/ns16550.c
xen/drivers/char/serial.c
xen/include/asm-x86/irq.h
xen/include/asm-x86/mach-default/irq_vectors.h
xen/include/asm-x86/mach-default/irq_vectors_limits.h [deleted file]
xen/include/xen/serial.h